package com.xlh.service.conclude;

import com.xlh.dto.conclude.ConcludeDTO;
import com.xlh.dto.conclude.ConcludeUpPublicDTO;
import com.xlh.param.conclude.ConcludeAddParam;
import com.xlh.param.conclude.ConcludeCopyParam;
import com.xlh.param.conclude.ConcludeUpdateParam;
import com.xlh.vo.conclude.ConcludeDetailsVO;
import com.xlh.vo.conclude.ConcludeListInfoVO;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author cfz
 */
public interface ConcludeService {


    /**
     * 课程达成度列表展示
     * @param courseId
     * @return
     */
    List<ConcludeListInfoVO> list(Long courseId);


    /**
     * 达成度添加
     * @param concludeAddParam
     */
    Long add(ConcludeAddParam concludeAddParam);


    /**
     * 课程达成度拷贝功能
     * @param concludeCopyParam
     * @return
     */
    void copy(ConcludeCopyParam concludeCopyParam);

    /**
     * 删除课程达成度目标
     * @param id
     * @return
     */
    String delete(Long id);

    /**
     * 查询课程详情
     * @param id
     * @return
     */
    ConcludeDetailsVO details(Long id);

    /**
     * 公开状态的切换
     * @param concludeUpPublicDTO
     */
    void ispublic(ConcludeUpPublicDTO concludeUpPublicDTO);


    /**
     * 更新达成度信息
     * @param concludeUpdateParam
     */
    void update(ConcludeUpdateParam concludeUpdateParam);


    /**
     * 课程达成度
     * @param concludeId
     */
    void exeUpdate(Long concludeId);


}
